home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Interfaces / AIncludes / OCEStandardDirectory.a < prev    next >
Encoding:
Text File  |  1996-01-24  |  23.6 KB  |  1,015 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        OCEStandardDirectory.a
  3. ;
  4. ;    Contains:    Apple Open Collaboration Environment Standard Directory Interfaces.
  5. ;
  6. ;    Version:    Technology:    AOCE Toolbox 1.02
  7. ;                Package:    Universal Interfaces 2.2 in “MPW” on ETO #20
  8. ;
  9. ;    Copyright:    © 1984-1995 by Apple Computer, Inc.
  10. ;                All rights reserved.
  11. ;
  12. ;    Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13. ;                stack.  Include the file and version information (from above)
  14. ;                in the problem description and send to:
  15. ;                    Internet:    apple.bugs@applelink.apple.com
  16. ;                    AppleLink:    APPLE.BUGS
  17. ;
  18. ;
  19.  
  20.     IF &TYPE('__OCESTANDARDDIRECTORY__') = 'UNDEFINED' THEN
  21. __OCESTANDARDDIRECTORY__ SET 1
  22.  
  23.  
  24.     IF &TYPE('__APPLEEVENTS__') = 'UNDEFINED' THEN
  25.     include 'AppleEvents.a'
  26.     ENDIF
  27. ;        include 'Errors.a'                                            ;
  28. ;            include 'ConditionalMacros.a'                            ;
  29. ;        include 'Types.a'                                            ;
  30. ;        include 'Memory.a'                                            ;
  31. ;            include 'MixedMode.a'                                    ;
  32. ;        include 'OSUtils.a'                                        ;
  33. ;        include 'Events.a'                                            ;
  34. ;            include 'Quickdraw.a'                                    ;
  35. ;                include 'QuickdrawText.a'                            ;
  36. ;        include 'EPPC.a'                                            ;
  37. ;            include 'AppleTalk.a'                                    ;
  38. ;            include 'Files.a'                                        ;
  39. ;                include 'Finder.a'                                    ;
  40. ;            include 'PPCToolbox.a'                                    ;
  41. ;            include 'Processes.a'                                    ;
  42. ;        include 'Notification.a'                                    ;
  43.  
  44.     IF &TYPE('__ICONS__') = 'UNDEFINED' THEN
  45.     include 'Icons.a'
  46.     ENDIF
  47.  
  48.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  49.     include 'Types.a'
  50.     ENDIF
  51.  
  52.     IF &TYPE('__WINDOWS__') = 'UNDEFINED' THEN
  53.     include 'Windows.a'
  54.     ENDIF
  55. ;        include 'Controls.a'                                        ;
  56. ;            include 'Menus.a'                                        ;
  57.  
  58.     IF &TYPE('__OCE__') = 'UNDEFINED' THEN
  59.     include 'OCE.a'
  60.     ENDIF
  61. ;        include 'Aliases.a'                                        ;
  62. ;        include 'Script.a'                                            ;
  63. ;            include 'IntlResources.a'                                ;
  64.  
  65.     IF &TYPE('__OCEAUTHDIR__') = 'UNDEFINED' THEN
  66.     include 'OCEAuthDir.a'
  67.     ENDIF
  68.  
  69. gestaltSDPStandardDirectoryVersion EQU        'sdvr'
  70. gestaltSDPFindVersion            EQU        'dfnd'
  71. gestaltSDPPromptVersion            EQU        'prpv'
  72.  
  73. genericDirectoryIconResource    EQU        -16721                ; icl8, icl4, ICN#, ics#, ics4, ics8, sicn  
  74. genericLockedDirectoryIconResource EQU        -16716            ; icl8, icl4, ICN#, ics#, ics4, ics8, sicn  
  75. genericRecordIconResource        EQU        -16722                ; icl8, icl4, ICN#, ics#, ics4, ics8, sicn  
  76. genericAttributeIconResource    EQU        -16723                ; icl8, icl4, ICN#, ics#, ics4, ics8, sicn  
  77. genericTemplateIconResource        EQU        -16746                ; icl8, icl4, ICN#, ics#, ics4, ics8 
  78.  
  79. ; standard icon suites 
  80. directoryFolderIconResource        EQU        -16720                ; icl8, icl4, ICN#, ics#, ics4, ics8, sicn  
  81. lockedDirectoryFolderIconResource EQU        -16719            ; icl8, icl4, ICN#, ics#, ics4, ics8, sicn  
  82. personalDirectoryIconResource    EQU        -16718                ; icl8, icl4, ICN#, ics#, ics4, ics8, sicn  
  83. directoriesIconResource            EQU        -16717                ; icl8, icl4, ICN#, ics#, ics4, ics8, sicn  
  84. preferredPersonalDirectoryIconResource EQU        -16724        ; icl8, icl4, ICN#, ics#, ics4, ics8, sicn  
  85.  
  86. ; icon IDs for spinning arrows 
  87. kFirstSpinnerIcon                EQU        -16745
  88. kLastSpinnerIcon                EQU        -16738
  89.  
  90. ; resource types 
  91. kSDPPanelResourceType            EQU        'panl'
  92. kSDPFindPanelResourceType        EQU        'find'
  93.  
  94. ; Standard FindPanel resource 
  95. kStandardFindLayout                EQU        -16700
  96.  
  97. ; Prompt For Identity structures 
  98. kSDPGuestBit                    EQU        0
  99. kSDPSpecificIdentityBit            EQU        1
  100. kSDPLocalIdentityBit            EQU        2
  101.  
  102. ; Values of SDPIdentityKind 
  103. kSDPGuestMask                    EQU        1
  104. kSDPSpecificIdentityMask        EQU        2
  105. kSDPLocalIdentityMask            EQU        4
  106.  
  107. ; typedef unsigned short     SDPIdentityKind
  108.  
  109. kSDPSuggestionOnly                EQU        0
  110. kSDPRestrictToDirectory            EQU        1
  111. kSDPRestrictToRecord            EQU        2
  112.  
  113. ; typedef unsigned short     SDPLoginFilterKind
  114. ; Panel Structures 
  115. ;
  116. ;While the panel is in operation, four selection states may exist.
  117. ;    1) kSDPNothingSelected means nothing is selected.
  118. ;    2) kContainSelected means a volume, folder, catalog, dnode, or PAB is selected.
  119. ;    3) kSDPLockedContainerSelected means one of the above, but no access privledges.
  120. ;    4) kSDPRecordSelected means that a record is currently selected.
  121. ;
  122. ; Values of SDPSelectionState 
  123.  
  124. kSDPNothingSelected                EQU        0
  125. kSDPLockedContainerSelected        EQU        1
  126. kSDPContainerSelected            EQU        2
  127. kSDPRecordSelected                EQU        3
  128. kSDPRecordAliasSelected            EQU        4
  129. kSDPContainerAliasSelected        EQU        5
  130.  
  131. ; typedef unsigned short     SDPSelectionState
  132. ;
  133. ;This type informs the caller of the action the user took, either as the result
  134. ;of an event (as returned by SDPPanelEvent) or when SDPOpenSelectedItem is called.
  135. ;
  136. ;kSDPProcessed means that the event (or call to SDPOpenSelectedItem) resulted in no
  137. ;state change.
  138. ;
  139. ;kSDPSelectedAnItem indicates that the user wants to select the currently-hilited
  140. ;record. This is returned, for example, when a user double-clicks on a record.
  141. ;
  142. ;kSDPChangedSelection implies that the user clicked on a new item (which may mean
  143. ;that no item is selected).
  144. ;
  145. ; Values of SDPPanelState 
  146.  
  147. kSDPProcessed                    EQU        0
  148. kSDPSelectedAnItem                EQU        1
  149. kSDPChangedSelection            EQU        2
  150.  
  151. ; typedef unsigned short     SDPPanelState
  152. ;
  153. ;Your application may read any of the fields in a SDPPanelRecord, but it should
  154. ;use the appropriate routines to make changes to the records with the exception
  155. ;of the refCon field which your application may read or write at will.  Private
  156. ;information follows the SDPPanelRecord, so the handle must not be re-sized.
  157. ;
  158. SDPPanelRecord             RECORD    0
  159. bounds                     ds     Rect    ; offset: $0 (0)
  160. visible                     ds.b   1        ; offset: $8 (8)
  161. enabled                     ds.b   1        ; offset: $9 (9)
  162. focused                     ds.b   1        ; offset: $A (10)
  163. padByte                     ds.b   1        ; offset: $B (11)
  164. identity                 ds.l   1        ; offset: $C (12)
  165. refCon                     ds.l   1        ; offset: $10 (16)
  166. listRect                 ds     Rect    ; offset: $14 (20)
  167. popupRect                 ds     Rect    ; offset: $1C (28)
  168. numberOfRows             ds.w   1        ; offset: $24 (36)
  169. rowHeight                 ds.w   1        ; offset: $26 (38)
  170. pabMode                     ds.b   1        ; offset: $28 (40)
  171. filler1                     ds.b   1        ; offset: $29 (41)
  172. sizeof                     EQU *            ; size:   $2A (42)
  173.                         ENDR
  174.  
  175. ; typedef struct SDPPanelRecord  SDPPanelRecord
  176. ; typedef SDPPanelRecord     *SDPPanelPtr, **SDPPanelHandle
  177. ; typedef PanelBusyUPP         PanelBusyProc
  178. ; Find Panel Structures 
  179.  
  180. kSDPItemIsSelectedBit            EQU        0
  181. kSDPFindTextExistsBit            EQU        1
  182.  
  183. ; Values of SDPFindPanelState 
  184. kSDPItemIsSelectedMask            EQU        1 << kSDPItemIsSelectedBit
  185. kSDPFindTextExistsMask            EQU        1 << kSDPFindTextExistsBit
  186.  
  187. ; typedef unsigned short     SDPFindPanelState
  188. ; Values of SDPFindPanelFocus 
  189.  
  190. kSDPFindPanelNoFocus            EQU        0
  191. kSDPFindPanelListHasFocus        EQU        1
  192. kSDPFindPanelTextHasFocus        EQU        2
  193.  
  194. ; typedef unsigned short     SDPFindPanelFocus
  195. SDPFindPanelRecord         RECORD    0
  196. upperLeft                 ds     Point    ; offset: $0 (0)
  197. visible                     ds.b   1        ; offset: $4 (4)
  198. enabled                     ds.b   1        ; offset: $5 (5)
  199. nowFinding                 ds.b   1        ; offset: $6 (6)
  200. padByte                     ds.b   1        ; offset: $7 (7)
  201. currentFocus             ds.w   1        ; offset: $8 (8)
  202. identity                 ds.l   1        ; offset: $A (10)
  203. simultaneousSearchCount     ds.w   1        ; offset: $E (14)
  204. refCon                     ds.l   1        ; offset: $10 (16)
  205. sizeof                     EQU *            ; size:   $14 (20)
  206.                         ENDR
  207.  
  208. ; typedef struct SDPFindPanelRecord  SDPFindPanelRecord
  209. ; typedef SDPFindPanelRecord  *SDPFindPanelPtr, **SDPFindPanelHandle
  210. ; Values of SDPFindPanelResult 
  211.  
  212. kSDPSelectedAFindItem            EQU        0
  213. kSDPFindSelectionChanged        EQU        1
  214. kSDPFindCompleted                EQU        2
  215. kSDPTextStateChanged            EQU        3
  216. kSDPFocusChanged                EQU        4
  217. kSDPSelectionAndFocusChanged    EQU        5
  218. kSDPMenuChanged                    EQU        6
  219. kSDPSelectionAndMenuChanged        EQU        7
  220. kSDPProcessedFind                EQU        8
  221.  
  222. ; typedef unsigned short     SDPFindPanelResult
  223. ; typedef PackedPathNamePtr  *PackedRStringListHandle
  224. ; typedef FindPanelBusyUPP     FindPanelBusyProc
  225. ; Prompt For Identity Routines 
  226. ;
  227. ; pascal OSErr SDPPromptForID(AuthIdentity *id, ConstStr255Param guestPrompt, ConstStr255Param specificIDPrompt, ConstStr255Param localIDPrompt, const RString *recordType, SDPIdentityKind permittedKinds, SDPIdentityKind *selectedKind, const RecordID *loginFilter, SDPLoginFilterKind filterKind)
  228. ;
  229.     IF ¬ GENERATINGCFM THEN
  230.         Macro
  231.         _SDPPromptForID
  232.             dc.w     $203C
  233.             dc.w     $0010
  234.             dc.w     $0388
  235.             dc.w     $AA5D
  236.         EndM
  237.     ELSE
  238.         IMPORT_CFM_FUNCTION    SDPPromptForID
  239.     ENDIF
  240.  
  241. ;
  242. ;SDPNewPanel creates a new panel. You supply the window in which the panel
  243. ;is to live, the bounds for the panel (which includes both the menu and the list),
  244. ;whether or not the panel is to be initially visible, the initial RLI (nil for
  245. ;catalogs and volumes), the types of records that will be shown (only a single
  246. ;(non-nil) type which may contain wildcards), the identity by which to browse
  247. ;(for access control reasons), and a refCon which is  available to the caller.
  248. ;
  249. ;
  250. ; pascal OSErr SDPNewPanel(SDPPanelHandle *newPanel, WindowPtr window, const Rect *bounds, Boolean visible, Boolean enabled, const PackedRLI *initialRLI, const RStringPtr *typesList, unsigned long typeCount, AuthIdentity identity, DirEnumChoices enumFlags, DirMatchWith matchTypeHow, long refCon)
  251. ;
  252.     IF ¬ GENERATINGCFM THEN
  253.         Macro
  254.         _SDPNewPanel
  255.             dc.w     $203C
  256.             dc.w     $0015
  257.             dc.w     $0064
  258.             dc.w     $AA5D
  259.         EndM
  260.     ELSE
  261.         IMPORT_CFM_FUNCTION    SDPNewPanel
  262.     ENDIF
  263.  
  264. ;
  265. ;SDPSetIdentity Sets the identity used for browsing.  NOTE: This call is likely to go
  266. ;away if the new authentication scheme works.
  267. ;
  268. ;
  269. ; pascal OSErr SDPSetIdentity(SDPPanelHandle panel, AuthIdentity identity)
  270. ;
  271.     IF ¬ GENERATINGCFM THEN
  272.         Macro
  273.         _SDPSetIdentity
  274.             dc.w     $203C
  275.             dc.w     $0004
  276.             dc.w     $0073
  277.             dc.w     $AA5D
  278.         EndM
  279.     ELSE
  280.         IMPORT_CFM_FUNCTION    SDPSetIdentity
  281.     ENDIF
  282.  
  283. ;
  284. ;SDPGetNewPanel is similar to SDPNewPanel above, except it takes a resource id of a
  285. ;'panl' resource.
  286. ;
  287. ;
  288. ; pascal OSErr SDPGetNewPanel(SDPPanelHandle *newPanel, short resourceID, WindowPtr window, const PackedRLI *initialRLI, AuthIdentity identity)
  289. ;
  290.     IF ¬ GENERATINGCFM THEN
  291.         Macro
  292.         _SDPGetNewPanel
  293.             dc.w     $203C
  294.             dc.w     $0009
  295.             dc.w     $0065
  296.             dc.w     $AA5D
  297.         EndM
  298.     ELSE
  299.         IMPORT_CFM_FUNCTION    SDPGetNewPanel
  300.     ENDIF
  301.  
  302. ;
  303. ;Call this when you're completely done with a panel. It deallocates all of the
  304. ;associated data structures.
  305. ;
  306. ;
  307. ; pascal OSErr SDPDisposePanel(SDPPanelHandle panel)
  308. ;
  309.     IF ¬ GENERATINGCFM THEN
  310.         Macro
  311.         _SDPDisposePanel
  312.             dc.w     $203C
  313.             dc.w     $0002
  314.             dc.w     $0066
  315.             dc.w     $AA5D
  316.         EndM
  317.     ELSE
  318.         IMPORT_CFM_FUNCTION    SDPDisposePanel
  319.     ENDIF
  320.  
  321. ;
  322. ;If the panel is visible, it makes it invisible by hiding the menu, turning off
  323. ;drawing of the list, and erasing and  invaling the list's rectangle.
  324. ;
  325. ;
  326. ; pascal OSErr SDPHidePanel(SDPPanelHandle panel)
  327. ;
  328.     IF ¬ GENERATINGCFM THEN
  329.         Macro
  330.         _SDPHidePanel
  331.             dc.w     $203C
  332.             dc.w     $0002
  333.             dc.w     $0067
  334.             dc.w     $AA5D
  335.         EndM
  336.     ELSE
  337.         IMPORT_CFM_FUNCTION    SDPHidePanel
  338.     ENDIF
  339.  
  340. ; If the panel is invisible, it makes it visible and draws it. 
  341. ;
  342. ; pascal OSErr SDPShowPanel(SDPPanelHandle panel)
  343. ;
  344.     IF ¬ GENERATINGCFM THEN
  345.         Macro
  346.         _SDPShowPanel
  347.             dc.w     $203C
  348.             dc.w     $0002
  349.             dc.w     $0068
  350.             dc.w     $AA5D
  351.         EndM
  352.     ELSE
  353.         IMPORT_CFM_FUNCTION    SDPShowPanel
  354.     ENDIF
  355.  
  356. ; Disables the list and menu so that it won't accept any commands. 
  357. ;
  358. ; pascal OSErr SDPEnablePanel(SDPPanelHandle panel, Boolean enable)
  359. ;
  360.     IF ¬ GENERATINGCFM THEN
  361.         Macro
  362.         _SDPEnablePanel
  363.             dc.w     $203C
  364.             dc.w     $0003
  365.             dc.w     $0069
  366.             dc.w     $AA5D
  367.         EndM
  368.     ELSE
  369.         IMPORT_CFM_FUNCTION    SDPEnablePanel
  370.     ENDIF
  371.  
  372. ;
  373. ;Move the upper-left-hand corner of the panel to (h,v), given in local coordinates of
  374. ;the panel's window.
  375. ;
  376. ;
  377. ; pascal OSErr SDPMovePanel(SDPPanelHandle panel, short h, short v)
  378. ;
  379.     IF ¬ GENERATINGCFM THEN
  380.         Macro
  381.         _SDPMovePanel
  382.             dc.w     $203C
  383.             dc.w     $0004
  384.             dc.w     $006B
  385.             dc.w     $AA5D
  386.         EndM
  387.     ELSE
  388.         IMPORT_CFM_FUNCTION    SDPMovePanel
  389.     ENDIF
  390.  
  391. ;
  392. ;Resizes the panel to have the given width and height (keeping the upper-left-hand
  393. ;corner in a fixed position).
  394. ;
  395. ;
  396. ; pascal OSErr SDPSizePanel(SDPPanelHandle panel, short width, short height)
  397. ;
  398.     IF ¬ GENERATINGCFM THEN
  399.         Macro
  400.         _SDPSizePanel
  401.             dc.w     $203C
  402.             dc.w     $0004
  403.             dc.w     $006C
  404.             dc.w     $AA5D
  405.         EndM
  406.     ELSE
  407.         IMPORT_CFM_FUNCTION    SDPSizePanel
  408.     ENDIF
  409.  
  410. ;
  411. ;This routine simulates a double-click on the selected item (if there is no selected
  412. ;item, then it does nothing), and it returns the result of that "double-click" via the
  413. ;whatHappened parameter. If a container is selected, then that container will be
  414. ;opened and kMovedDownTheHierarchy is returned. If, however, the user is at the lowest
  415. ;level in the hierarchy, then kSDPSelectedAnItem is returned.
  416. ;
  417. ;
  418. ; pascal OSErr SDPOpenSelectedItem(SDPPanelHandle panel, SDPPanelState *whatHappened)
  419. ;
  420.     IF ¬ GENERATINGCFM THEN
  421.         Macro
  422.         _SDPOpenSelectedItem
  423.             dc.w     $203C
  424.             dc.w     $0004
  425.             dc.w     $006D
  426.             dc.w     $AA5D
  427.         EndM
  428.     ELSE
  429.         IMPORT_CFM_FUNCTION    SDPOpenSelectedItem
  430.     ENDIF
  431.  
  432. ;
  433. ;Returns whether a record is selected, something else is selected, or nothing is
  434. ;selected.
  435. ;
  436. ;
  437. ; pascal OSErr SDPGetPanelSelectionState(SDPPanelHandle panel, SDPSelectionState *itsState)
  438. ;
  439.     IF ¬ GENERATINGCFM THEN
  440.         Macro
  441.         _SDPGetPanelSelectionState
  442.             dc.w     $203C
  443.             dc.w     $0004
  444.             dc.w     $006E
  445.             dc.w     $AA5D
  446.         EndM
  447.     ELSE
  448.         IMPORT_CFM_FUNCTION    SDPGetPanelSelectionState
  449.     ENDIF
  450.  
  451. ;
  452. ;Returns the size of the currently-selected DSSpec, or zero if a record is
  453. ;not selected.  It is safe to do a NewPtr (SDPGetPanelSelectionSize (...))
  454. ;
  455. ;
  456. ; pascal OSErr SDPGetPanelSelectionSize(SDPPanelHandle panel, unsigned short *dsSpecSize)
  457. ;
  458.     IF ¬ GENERATINGCFM THEN
  459.         Macro
  460.         _SDPGetPanelSelectionSize
  461.             dc.w     $203C
  462.             dc.w     $0004
  463.             dc.w     $0072
  464.             dc.w     $AA5D
  465.         EndM
  466.     ELSE
  467.         IMPORT_CFM_FUNCTION    SDPGetPanelSelectionSize
  468.     ENDIF
  469.  
  470. ;
  471. ;Returns the currently-selected DSSpec, or a zero-lengthed
  472. ;DSSpec if a record is not selected. It is assumed that the selection
  473. ;buffer allocated is large enough.
  474. ;
  475. ;
  476. ; pascal OSErr SDPGetPanelSelection(SDPPanelHandle panel, PackedDSSpec *selection)
  477. ;
  478.     IF ¬ GENERATINGCFM THEN
  479.         Macro
  480.         _SDPGetPanelSelection
  481.             dc.w     $203C
  482.             dc.w     $0004
  483.             dc.w     $006F
  484.             dc.w     $AA5D
  485.         EndM
  486.     ELSE
  487.         IMPORT_CFM_FUNCTION    SDPGetPanelSelection
  488.     ENDIF
  489.  
  490. ;
  491. ;Forces browsing to the specified RLI. If prli is the current RLI, then it does
  492. ;nothing.
  493. ;
  494. ;
  495. ; pascal OSErr SDPSetPath(SDPPanelHandle panel, const PackedRLI *prli)
  496. ;
  497.     IF ¬ GENERATINGCFM THEN
  498.         Macro
  499.         _SDPSetPath
  500.             dc.w     $203C
  501.             dc.w     $0004
  502.             dc.w     $0070
  503.             dc.w     $AA5D
  504.         EndM
  505.     ELSE
  506.         IMPORT_CFM_FUNCTION    SDPSetPath
  507.     ENDIF
  508.  
  509. ;
  510. ;This is the main driver for the panel.  You should pass all events to SDPPanelEvent
  511. ;including NULL events.  If you have more than 1 panel, you will need to
  512. ;call SDPPanelEvent for each panel.  NOTE:  For Update Events you will also need to call
  513. ;SDPUpdatePanel as described below.
  514. ;
  515. ;
  516. ; pascal OSErr SDPPanelEvent(SDPPanelHandle panel, const EventRecord *theEvent, SDPPanelState *whatHappened)
  517. ;
  518.     IF ¬ GENERATINGCFM THEN
  519.         Macro
  520.         _SDPPanelEvent
  521.             dc.w     $203C
  522.             dc.w     $0006
  523.             dc.w     $0071
  524.             dc.w     $AA5D
  525.         EndM
  526.     ELSE
  527.         IMPORT_CFM_FUNCTION    SDPPanelEvent
  528.     ENDIF
  529.  
  530. ;
  531. ;SDPUpdatePanel should be called in response to an update event.  Generally you will
  532. ;have first called BeginUpdate, and pass the windows visRgn as theRgn.  If NULL
  533. ;is passed for theRgn the entire panel is re-drawn.  NOTE:  Drawing is not cliped to
  534. ;theRgn, if this is desired, you must first call SetClip.
  535. ;
  536. ;
  537. ; pascal OSErr SDPUpdatePanel(SDPPanelHandle panel, RgnHandle theRgn)
  538. ;
  539.     IF ¬ GENERATINGCFM THEN
  540.         Macro
  541.         _SDPUpdatePanel
  542.             dc.w     $203C
  543.             dc.w     $0004
  544.             dc.w     $006A
  545.             dc.w     $AA5D
  546.         EndM
  547.     ELSE
  548.         IMPORT_CFM_FUNCTION    SDPUpdatePanel
  549.     ENDIF
  550.  
  551. ;
  552. ;SDPSelectString scrolls and selects the closest matching string at the current
  553. ;level.  This is the same behavior as if the user typed in the given string.
  554. ;
  555. ;
  556. ; pascal OSErr SDPSelectString(SDPPanelHandle panel, const RString *name)
  557. ;
  558.     IF ¬ GENERATINGCFM THEN
  559.         Macro
  560.         _SDPSelectString
  561.             dc.w     $203C
  562.             dc.w     $0004
  563.             dc.w     $0074
  564.             dc.w     $AA5D
  565.         EndM
  566.     ELSE
  567.         IMPORT_CFM_FUNCTION    SDPSelectString
  568.     ENDIF
  569.  
  570. ;
  571. ;SDPGetPathLength returns the length in bytes required to hold the current path name
  572. ;in RLI format.  This corresponds to the path name in the popup menu.
  573. ;
  574. ;
  575. ; pascal OSErr SDPGetPathLength(SDPPanelHandle panel, unsigned short *pathNameLength)
  576. ;
  577.     IF ¬ GENERATINGCFM THEN
  578.         Macro
  579.         _SDPGetPathLength
  580.             dc.w     $203C
  581.             dc.w     $0004
  582.             dc.w     $0075
  583.             dc.w     $AA5D
  584.         EndM
  585.     ELSE
  586.         IMPORT_CFM_FUNCTION    SDPGetPathLength
  587.     ENDIF
  588.  
  589. ; SDPGetPath returns the current rli. 
  590. ;
  591. ; pascal OSErr SDPGetPath(SDPPanelHandle panel, PackedRLI *prli, short *dsRefNum)
  592. ;
  593.     IF ¬ GENERATINGCFM THEN
  594.         Macro
  595.         _SDPGetPath
  596.             dc.w     $203C
  597.             dc.w     $0006
  598.             dc.w     $0076
  599.             dc.w     $AA5D
  600.         EndM
  601.     ELSE
  602.         IMPORT_CFM_FUNCTION    SDPGetPath
  603.     ENDIF
  604.  
  605. ;
  606. ;SDPSetFocus will draw the focus rectangle or erase the focus rectangle depending upon
  607. ;the focus boolean.
  608. ;
  609. ;
  610. ; pascal OSErr SDPSetFocus(SDPPanelHandle panel, Boolean focus)
  611. ;
  612.     IF ¬ GENERATINGCFM THEN
  613.         Macro
  614.         _SDPSetFocus
  615.             dc.w     $203C
  616.             dc.w     $0003
  617.             dc.w     $0077
  618.             dc.w     $AA5D
  619.         EndM
  620.     ELSE
  621.         IMPORT_CFM_FUNCTION    SDPSetFocus
  622.     ENDIF
  623.  
  624. ;
  625. ;SDPSetPanelBalloonHelp allows clients to specify a STR# resource id to use for 
  626. ;balloon help.  Balloon help is unavailable until this call is made.
  627. ;
  628. ;
  629. ; pascal OSErr SDPSetPanelBalloonHelp(SDPPanelHandle panel, short balloonHelpID)
  630. ;
  631.     IF ¬ GENERATINGCFM THEN
  632.         Macro
  633.         _SDPSetPanelBalloonHelp
  634.             dc.w     $203C
  635.             dc.w     $0003
  636.             dc.w     $0078
  637.             dc.w     $AA5D
  638.         EndM
  639.     ELSE
  640.         IMPORT_CFM_FUNCTION    SDPSetPanelBalloonHelp
  641.     ENDIF
  642.  
  643. ;
  644. ;SDPInstallPanelBusyProc allows clients to install a CB that will be called while
  645. ;the panel is aynchronously busy.
  646. ;
  647. ;
  648. ; pascal OSErr SDPInstallPanelBusyProc(SDPPanelHandle panel, PanelBusyProc busyProc)
  649. ;
  650.     IF ¬ GENERATINGCFM THEN
  651.         Macro
  652.         _SDPInstallPanelBusyProc
  653.             dc.w     $203C
  654.             dc.w     $0004
  655.             dc.w     $0079
  656.             dc.w     $AA5D
  657.         EndM
  658.     ELSE
  659.         IMPORT_CFM_FUNCTION    SDPInstallPanelBusyProc
  660.     ENDIF
  661.  
  662. ;
  663. ; pascal OSErr SDPNewFindPanel(SDPFindPanelHandle *newPanel, WindowPtr window, Point upperLeft, short layoutResourceID, Boolean visible, Boolean enabled, const RStringPtr *typesList, long typeCount, DirMatchWith matchTypeHow, AuthIdentity identity, short simultaneousSearchCount, SDPFindPanelFocus initialFocus, long refCon)
  664. ;
  665.     IF ¬ GENERATINGCFM THEN
  666.         Macro
  667.         _SDPNewFindPanel
  668.             dc.w     $203C
  669.             dc.w     $0014
  670.             dc.w     $08FC
  671.             dc.w     $AA5D
  672.         EndM
  673.     ELSE
  674.         IMPORT_CFM_FUNCTION    SDPNewFindPanel
  675.     ENDIF
  676.  
  677. ;
  678. ; pascal OSErr SDPDisposeFindPanel(SDPFindPanelHandle findPanel)
  679. ;
  680.     IF ¬ GENERATINGCFM THEN
  681.         Macro
  682.         _SDPDisposeFindPanel
  683.             dc.w     $203C
  684.             dc.w     $0002
  685.             dc.w     $08FD
  686.             dc.w     $AA5D
  687.         EndM
  688.     ELSE
  689.         IMPORT_CFM_FUNCTION    SDPDisposeFindPanel
  690.     ENDIF
  691.  
  692. ;
  693. ; pascal OSErr SDPStartFind(SDPFindPanelHandle findPanel)
  694. ;
  695.     IF ¬ GENERATINGCFM THEN
  696.         Macro
  697.         _SDPStartFind
  698.             dc.w     $203C
  699.             dc.w     $0002
  700.             dc.w     $08FE
  701.             dc.w     $AA5D
  702.         EndM
  703.     ELSE
  704.         IMPORT_CFM_FUNCTION    SDPStartFind
  705.     ENDIF
  706.  
  707. ;
  708. ; pascal OSErr SDPStopFind(SDPFindPanelHandle findPanel)
  709. ;
  710.     IF ¬ GENERATINGCFM THEN
  711.         Macro
  712.         _SDPStopFind
  713.             dc.w     $203C
  714.             dc.w     $0002
  715.             dc.w     $08FF
  716.             dc.w     $AA5D
  717.         EndM
  718.     ELSE
  719.         IMPORT_CFM_FUNCTION    SDPStopFind
  720.     ENDIF
  721.  
  722. ;
  723. ; pascal OSErr SDPFindPanelEvent(SDPFindPanelHandle findPanel, const EventRecord *event, SDPFindPanelResult *whatHappened)
  724. ;
  725.     IF ¬ GENERATINGCFM THEN
  726.         Macro
  727.         _SDPFindPanelEvent
  728.             dc.w     $203C
  729.             dc.w     $0006
  730.             dc.w     $0900
  731.             dc.w     $AA5D
  732.         EndM
  733.     ELSE
  734.         IMPORT_CFM_FUNCTION    SDPFindPanelEvent
  735.     ENDIF
  736.  
  737. ;
  738. ; pascal OSErr SDPUpdateFindPanel(SDPFindPanelHandle findPanel, RgnHandle theRgn)
  739. ;
  740.     IF ¬ GENERATINGCFM THEN
  741.         Macro
  742.         _SDPUpdateFindPanel
  743.             dc.w     $203C
  744.             dc.w     $0004
  745.             dc.w     $0901
  746.             dc.w     $AA5D
  747.         EndM
  748.     ELSE
  749.         IMPORT_CFM_FUNCTION    SDPUpdateFindPanel
  750.     ENDIF
  751.  
  752. ;
  753. ; pascal OSErr SDPShowFindPanel(SDPFindPanelHandle findPanel)
  754. ;
  755.     IF ¬ GENERATINGCFM THEN
  756.         Macro
  757.         _SDPShowFindPanel
  758.             dc.w     $203C
  759.             dc.w     $0002
  760.             dc.w     $0902
  761.             dc.w     $AA5D
  762.         EndM
  763.     ELSE
  764.         IMPORT_CFM_FUNCTION    SDPShowFindPanel
  765.     ENDIF
  766.  
  767. ;
  768. ; pascal OSErr SDPHideFindPanel(SDPFindPanelHandle findPanel)
  769. ;
  770.     IF ¬ GENERATINGCFM THEN
  771.         Macro
  772.         _SDPHideFindPanel
  773.             dc.w     $203C
  774.             dc.w     $0002
  775.             dc.w     $0903
  776.             dc.w     $AA5D
  777.         EndM
  778.     ELSE
  779.         IMPORT_CFM_FUNCTION    SDPHideFindPanel
  780.     ENDIF
  781.  
  782. ;
  783. ; pascal OSErr SDPMoveFindPanel(SDPFindPanelHandle findPanel, short h, short v)
  784. ;
  785.     IF ¬ GENERATINGCFM THEN
  786.         Macro
  787.         _SDPMoveFindPanel
  788.             dc.w     $203C
  789.             dc.w     $0004
  790.             dc.w     $0904
  791.             dc.w     $AA5D
  792.         EndM
  793.     ELSE
  794.         IMPORT_CFM_FUNCTION    SDPMoveFindPanel
  795.     ENDIF
  796.  
  797. ;
  798. ; pascal OSErr SDPEnableFindPanel(SDPFindPanelHandle findPanel, Boolean enabled)
  799. ;
  800.     IF ¬ GENERATINGCFM THEN
  801.         Macro
  802.         _SDPEnableFindPanel
  803.             dc.w     $203C
  804.             dc.w     $0003
  805.             dc.w     $0905
  806.             dc.w     $AA5D
  807.         EndM
  808.     ELSE
  809.         IMPORT_CFM_FUNCTION    SDPEnableFindPanel
  810.     ENDIF
  811.  
  812. ;
  813. ; pascal OSErr SDPSetFindPanelFocus(SDPFindPanelHandle findPanel, SDPFindPanelFocus newFocus)
  814. ;
  815.     IF ¬ GENERATINGCFM THEN
  816.         Macro
  817.         _SDPSetFindPanelFocus
  818.             dc.w     $203C
  819.             dc.w     $0003
  820.             dc.w     $0906
  821.             dc.w     $AA5D
  822.         EndM
  823.     ELSE
  824.         IMPORT_CFM_FUNCTION    SDPSetFindPanelFocus
  825.     ENDIF
  826.  
  827. ;
  828. ; pascal OSErr SDPGetFindPanelState(SDPFindPanelHandle findPanel, SDPFindPanelState *itsState)
  829. ;
  830.     IF ¬ GENERATINGCFM THEN
  831.         Macro
  832.         _SDPGetFindPanelState
  833.             dc.w     $203C
  834.             dc.w     $0004
  835.             dc.w     $0907
  836.             dc.w     $AA5D
  837.         EndM
  838.     ELSE
  839.         IMPORT_CFM_FUNCTION    SDPGetFindPanelState
  840.     ENDIF
  841.  
  842. ;
  843. ; pascal OSErr SDPGetFindPanelSelectionSize(SDPFindPanelHandle findPanel, unsigned short *size)
  844. ;
  845.     IF ¬ GENERATINGCFM THEN
  846.         Macro
  847.         _SDPGetFindPanelSelectionSize
  848.             dc.w     $203C
  849.             dc.w     $0004
  850.             dc.w     $0908
  851.             dc.w     $AA5D
  852.         EndM
  853.     ELSE
  854.         IMPORT_CFM_FUNCTION    SDPGetFindPanelSelectionSize
  855.     ENDIF
  856.  
  857. ;
  858. ; pascal OSErr SDPGetFindPanelSelection(SDPFindPanelHandle findPanel, PackedDSSpec *selection)
  859. ;
  860.     IF ¬ GENERATINGCFM THEN
  861.         Macro
  862.         _SDPGetFindPanelSelection
  863.             dc.w     $203C
  864.             dc.w     $0004
  865.             dc.w     $0909
  866.             dc.w     $AA5D
  867.         EndM
  868.     ELSE
  869.         IMPORT_CFM_FUNCTION    SDPGetFindPanelSelection
  870.     ENDIF
  871.  
  872. ;
  873. ; pascal OSErr SDPSetFindPanelBalloonHelp(SDPFindPanelHandle findPanel, short balloonHelpID)
  874. ;
  875.     IF ¬ GENERATINGCFM THEN
  876.         Macro
  877.         _SDPSetFindPanelBalloonHelp
  878.             dc.w     $203C
  879.             dc.w     $0003
  880.             dc.w     $090A
  881.             dc.w     $AA5D
  882.         EndM
  883.     ELSE
  884.         IMPORT_CFM_FUNCTION    SDPSetFindPanelBalloonHelp
  885.     ENDIF
  886.  
  887. ;
  888. ; pascal OSErr SDPSetFindIdentity(SDPFindPanelHandle findPanel, AuthIdentity identity)
  889. ;
  890.     IF ¬ GENERATINGCFM THEN
  891.         Macro
  892.         _SDPSetFindIdentity
  893.             dc.w     $203C
  894.             dc.w     $0004
  895.             dc.w     $090B
  896.             dc.w     $AA5D
  897.         EndM
  898.     ELSE
  899.         IMPORT_CFM_FUNCTION    SDPSetFindIdentity
  900.     ENDIF
  901.  
  902. ;
  903. ; pascal OSErr SDPInstallFindPanelBusyProc(SDPFindPanelHandle findPanel, FindPanelBusyProc busyProc)
  904. ;
  905.     IF ¬ GENERATINGCFM THEN
  906.         Macro
  907.         _SDPInstallFindPanelBusyProc
  908.             dc.w     $203C
  909.             dc.w     $0004
  910.             dc.w     $090C
  911.             dc.w     $AA5D
  912.         EndM
  913.     ELSE
  914.         IMPORT_CFM_FUNCTION    SDPInstallFindPanelBusyProc
  915.     ENDIF
  916.  
  917. ;
  918. ; pascal OSErr SDPGetIconByType(const RString *recordType, IconSelectorValue whichIcons, Handle *iconSuite)
  919. ;
  920.     IF ¬ GENERATINGCFM THEN
  921.         Macro
  922.         _SDPGetIconByType
  923.             move.w    #1024,d0
  924.             dc.w     $AA5C
  925.         EndM
  926.     ELSE
  927.         IMPORT_CFM_FUNCTION    SDPGetIconByType
  928.     ENDIF
  929.  
  930. ;
  931. ; pascal OSErr SDPGetDSSpecIcon(const PackedDSSpec *packedDSSpec, IconSelectorValue whichIcons, Handle *iconSuite)
  932. ;
  933.     IF ¬ GENERATINGCFM THEN
  934.         Macro
  935.         _SDPGetDSSpecIcon
  936.             move.w    #1025,d0
  937.             dc.w     $AA5C
  938.         EndM
  939.     ELSE
  940.         IMPORT_CFM_FUNCTION    SDPGetDSSpecIcon
  941.     ENDIF
  942.  
  943. ;
  944. ; pascal OSErr SDPGetCategories(PackedRStringListHandle *categories, PackedRStringListHandle *displayNames)
  945. ;
  946.     IF ¬ GENERATINGCFM THEN
  947.         Macro
  948.         _SDPGetCategories
  949.             move.w    #1026,d0
  950.             dc.w     $AA5C
  951.         EndM
  952.     ELSE
  953.         IMPORT_CFM_FUNCTION    SDPGetCategories
  954.     ENDIF
  955.  
  956. ;
  957. ; pascal OSErr SDPGetCategoryTypes(const RString *category, PackedRStringListHandle *types)
  958. ;
  959.     IF ¬ GENERATINGCFM THEN
  960.         Macro
  961.         _SDPGetCategoryTypes
  962.             move.w    #1027,d0
  963.             dc.w     $AA5C
  964.         EndM
  965.     ELSE
  966.         IMPORT_CFM_FUNCTION    SDPGetCategoryTypes
  967.     ENDIF
  968.  
  969. ;
  970. ; pascal OSErr SDPResolveAliasFile(FSSpecPtr fileSpec, PackedDSSpecHandle resolvedDSSpec, AuthIdentity identity, Boolean mayPromptUser)
  971. ;
  972.     IF ¬ GENERATINGCFM THEN
  973.         Macro
  974.         _SDPResolveAliasFile
  975.             dc.w     $203C
  976.             dc.w     $0007
  977.             dc.w     $0E74
  978.             dc.w     $AA5D
  979.         EndM
  980.     ELSE
  981.         IMPORT_CFM_FUNCTION    SDPResolveAliasFile
  982.     ENDIF
  983.  
  984. ;
  985. ; pascal OSErr SDPResolveAliasDSSpec(PackedDSSpecHandle theAliasDSSpec, AuthIdentity identity, Boolean mayPromptUser)
  986. ;
  987.     IF ¬ GENERATINGCFM THEN
  988.         Macro
  989.         _SDPResolveAliasDSSpec
  990.             dc.w     $203C
  991.             dc.w     $0005
  992.             dc.w     $0E75
  993.             dc.w     $AA5D
  994.         EndM
  995.     ELSE
  996.         IMPORT_CFM_FUNCTION    SDPResolveAliasDSSpec
  997.     ENDIF
  998.  
  999. ;
  1000. ; pascal OSErr SDPRepairPersonalDirectory(FSSpec *pd, Boolean showProgress)
  1001. ;
  1002.     IF ¬ GENERATINGCFM THEN
  1003.         Macro
  1004.         _SDPRepairPersonalDirectory
  1005.             dc.w     $203C
  1006.             dc.w     $0003
  1007.             dc.w     $1A2C
  1008.             dc.w     $AA5D
  1009.         EndM
  1010.     ELSE
  1011.         IMPORT_CFM_FUNCTION    SDPRepairPersonalDirectory
  1012.     ENDIF
  1013.  
  1014.     ENDIF ; __OCESTANDARDDIRECTORY__
  1015.